linux-04 Vim编辑器
一、vim编辑器
vim与vi的区别,vi为黑色,vim为红色
- 三种状态:
Command
:任何输入都会作为编辑命令,而不会出现在屏幕上,任何输入都引起立即反映Insert
:任何输入的数据都置于编辑寄存器,按ESC,可跳回command方式Escape
:以':'或者'/'为前导的指令,出现在屏幕的最下一行,任何输入都被当成特别的指令
离开命令
ZZ
保存当前文件并退出Vi:q!
离开vi,并放弃刚在缓存区编辑的内容:wq
将缓冲区内的资料写入磁盘中,并离开vi:x
同:wq(:X是文件加密,需要区分一下)
进入输入模式
a
光标之后输入A
行末输入i
光标之前输入I
行首输入o
向下新增一行O
向上新增一行
删除、修改、撤销
x
删除光标下的字X
删除光标之前的字D
删除当前光标至行尾的内容dd
删除整行dgg
删除当前光标至文件头的内容:10,20d
删除第10行至20行的资料:10d
删除第10行:%d
删除整个编辑缓冲区cc
修改整行的内容r
修改当前光标的文字R
进入修改模式直到ESC退出为止u
恢复最后一个指令之前的结果U
恢复光标该行的所有改变ctrl+r
恢复撤消前的内容
光标移动
m<a-z>
设置书签<a-z>
<a-z>
移至书签<a-z>
处0
移至行首$
移至行末e
移到下个字的最后一个字母w
移动到下个字的第一个字母b
移动到上个字的第一个字母^
移至该行的第一个字H
移至视窗的第一行M
移至视窗的中间那行L
移至视察的最后一行G
移至该文件的最后一行+
移至下一列的第一个字-
移至上一列的第一个字:n
移至该文件的第n列n+
移至光标所在位置之后的第n列n-
移至光标所在位置之前的第n列<ctrl><g>
显示该行之行号、文件名称、文件中最末行之行号、光标所在行号占总行号之百分比
视窗的移动
ctrl+f
视窗往下卷一页ctrl+b
视窗往上卷一页ctrl+d
视窗往下卷半页ctrl+u
视窗往上卷半页ctrl+e
视窗往下卷一行ctrl+y
视窗往上卷一行
选择、复制、剪切、删除
v
从光标当前位置开始,经过的地方会被选中,再按v结束V
从光标当前行开始,光标经过的行都会被选中,再按一下V结束ctrl+v
从光标当前位置开始,选中光标起点和终点所构成的矩形区域,再按ctrl+v结束ggVG
选中全部的文本,其中gg为跳到行首,V选中整行,G末尾d
剪切y
复制p
粘贴yy
复制光标当前行
查找与替换
/字串
光标之后寻找?字串
光标之前寻找n
往下继续寻找下一个相同的字串N
往上继续寻找下一个相同的字串%
查找'(',')','{','}'的配对符s
搜寻某行列范围g
搜寻整个编辑缓冲区的资料:1,$s/old/new/g
将文件中所有old改成new:10,20s/%^/ /
将10行至20行资料的最前面插入5个空白/字符串
后边输入查询内容可保存至缓冲区,可用箭头上下进行以往内容选择- 将光标移动在选定单词下方按*,则可以选中此单词作为查询字符
环境的设定
:set all
可设置的环境变量列表:set
环境变量的当前值:set nu
显示行号:set nonu
取消行号设定。:set ai
自动内缩。:set noai
取消自动内缩。
(vim)
:set ruler
会在屏幕右下角显示当前光标所处位置,并随光移动而改变,占用屏幕空间较小,使用也比较方便,推荐使用。:set hlsearch
在使用查找功能时,会高亮显示所有匹配的内容。:set nohlsearch
关闭此功能。:set incsearch
使Vim在输入字符串的过程中,光标就可定位显示匹配点。:set nowrapscan
关闭查找自动回环功能,即查找到文件结尾处,结束查找;默认状态是自动回环